package orchestration.businessprocess.model;

import java.util.Set;

import orchestration.businessprocess.model.nodes.BPNode;

/**
 * general interface to represent a BusinessProcessModel
 * @author <a href="mailto:car.ferrarini@gmail.com">Carlo Ferrarini</a>
 *
 */
public interface BusinessProcessModel {

	public BPNode getNode(BPNodeId bpNodeId);
	public BPArtifact getArtifact(BPArtifactId artifactId);
	public BPArtifact getArtifactByName(String name);
	public Set<BPArtifact> getInput(BPNodeId nodeId);
	public Set<BPArtifact> getOutput(BPNodeId nodeId);
	public BPNodeId getStartNodeId();
	public BPAnnotation getAnnotation(String id);
	public BPNode getStartNode();
}
